ContexMenuItemSelected position i nasıl elde edebilirim ?
19.07.2017 - 06:38
public static final int MENU_Ara = Menu.FIRST + 1;
OyunTextView oyunTextView;
static final int AnketDegerlendirmesi = 1337;
int selectedPosition;
String[] afteractivitydialogitems;
String[] dialogdegerleri;
boolean[] dialogcheckeditems ;
TextView sayılar;
ListView liste ;
ArrayList<String> kullanıcısayıdegerlistesi = new ArrayList<>();
ArrayList<Integer> mUserselecteditems = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ana_menu);
liste = (ListView) findViewById(R.id.oyun);
//Adapter im.
oyunTextView = new OyunTextView();
liste.setAdapter(oyunTextView);
registerForContextMenu(liste);
afteractivitydialogitems = getResources().getStringArray(R.array.anket);
dialogcheckeditems = new boolean[afteractivitydialogitems.length];
dialogdegerleri = getResources().getStringArray(R.array.anketdeğer);
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case MENU_Ara:
Intent i = getIntent();
final ArrayList<String> secilmis = i.getStringArrayListExtra("listem");
Intent ara = new Intent(Intent.ACTION_CALL);
ara.setData(Uri.parse("tel:" + secilmis.get(info.position).toString()));
// ara.setData(Uri.parse(kullanıcısayıdegerlistesi.get(info.position).toString()));
startActivityForResult(ara, AnketDegerlendirmesi);
selectedPosition = info.position;
//nereye tıkladığının bilgisi.
//int secilen = sayı.nextInt(Integer.parseInt(secilmis.get(info.position)));
return true;
}
return super.onContextItemSelected(item);
}
protected void onActivityResult(final int requestCode, int resultCode, final Intent data) {
if (requestCode == AnketDegerlendirmesi){
final AlertDialog.Builder mBuilder = new AlertDialog.Builder(AnaMenu.this);
mBuilder.setTitle("Sosyal Alarm Değerlendirme Formu");
mBuilder.setIcon(R.drawable.ic_build_black_24dp);
mBuilder.setMultiChoiceItems(afteractivitydialogitems, dialogcheckeditems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int position, boolean isChecked) {
if (isChecked){
mUserselecteditems.add(Integer.valueOf(dialogdegerleri[position]));
}
if (!isChecked) {
if (mUserselecteditems.contains(Integer.valueOf(dialogdegerleri[position]))){
mUserselecteditems.remove(Integer.valueOf(dialogdegerleri[position]));
}
}
}
});
mBuilder.setCancelable(false);
mBuilder.setPositiveButton("Tamamdır.", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String items = "";
int toplamaislemi = 0;
for (int item:mUserselecteditems){
items += "-" + item + "\n";
toplamaislemi = toplamaislemi + item;
kullanıcısayıdegerlistesi.remove(selectedPosition);
kullanıcısayıdegerlistesi.add(selectedPosition , String.valueOf(toplamaislemi));
oyunTextView.notifyDataSetChanged();
}
// unutma if (toplamaislemi<0 )
Toast.makeText(AnaMenu.this ,(String.valueOf(toplamaislemi)) ,Toast.LENGTH_LONG).show();
}
}).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
SelectedPosition ne zaman çağrılsa kendisini 0 a eşitliyor fakat ben bunu istemiyorum Menu itemi (ara) tıklanıldığındaki liste görselindeki durumunu istiyorum.Nasıl elde edebilirim ?
3
Görüntülenme
0 Beğeni